package com.youlu.campus.entity.domain;

import com.youlu.campus.entity.CaInfo;
import com.youlu.campus.entity.MemberShipInfo;
import com.youlu.campus.entity.UserPO;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Getter
@Setter
public class ActivityRewadDomain implements Serializable {
    /**
     * 活动ID
     */
    private String activityId;
    private String userId;
    /**
     * 证书说明图片
     */
    private String caDescImage;
    /**
     * 奖励证书
     */
    private List<CaInfo> caInfos = new ArrayList<>();
    /**
     * 是否是会员
     */
    private Boolean memberShiped;
    /**
     * 是否勾选会员
     */
    private Boolean choicedMemberShip;
    /**
     * 会员卡ID
     */
    private MemberShipInfo memberShipInfo;
    /**
     * 其他证书
     */
    private List<CaInfo> otherCaInfos = new ArrayList<>();
    /**
     * 总价格
     */
    private Integer price;
    /**
     * 姓名
     */
    protected String name;
    /**
     * 电话
     */
    protected String mobile;
    /**
     * 邮政编码
     */
    protected String postcode;

    /**
     * 省
     */
    protected String province;

    /**
     * 市
     */
    protected String city;

    /**
     * 区
     */
    protected String area;

    /**
     * 地址
     */
    protected String address;
    /**
     * 剩余的次数
     */
    protected Integer remainedNum;

    protected String clientIp;
    /**
     * 1 自主下单 2 客服下单
     */
    protected Integer source;
    /**
     * 证书下单页面提示,富文本
     */
    private String preOrderDesc;

    private UserPO userPO;
    /**
     * 下单的URL
     */
    private String url;
    /**
     * 平台
     */
    private String platfrom;
    /**
     *
     */
    private String universityId;

    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 业务类型
     */
    private String taskBizType;

    /**
     * 购买多份证书 false 购买一份。true可购买多份
     */
    private Boolean buyMultiCA = Boolean.FALSE;

    private String appId;

    /**
     * 当前等级
     */
    private String caLevel;

    /**
     * 是否显示证书等级 true 展示
     */
    private Boolean levelShow = Boolean.FALSE;

    /**
     * 是否隐藏倒计时 true 开启 false不开启
     */
    private Boolean showCountDown = Boolean.FALSE;

    /**
     * 奖励发放开始时间
     */
    private Date incentivesStartTime;
    /**
     * 奖励发放结束时间
     */
    private Date incentivesEndTime;

    /**
     * 等级颜色
     */
    private String levelColor;

    /**
     * 倒计时颜色
     */
    private String countdownColor;
}
